From e5051a2dd6d764f60546af11aba2b00472dc25a7 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 24 Feb 2026 22:19:48 +0100 Subject: [PATCH] aarch64: Recognize SHT_AARCH64_ATTRIBUTES Recognize SHT_AARCH64_ATTRIBUTES. This is enough to stop elflint complaining about unknown section types. But doesn't implement parsing the attributes. * backends/aarch64_symbol.c (aarch64_section_type_name): New function. * backends/aarch64_init.c (aarch64_init): Hook section_type_name. https://sourceware.org/bugzilla/show_bug.cgi?id=33923 Signed-off-by: Mark Wielaard Gbp-Pq: Name pr33991.diff --- backends/aarch64_init.c | 1 + backends/aarch64_symbol.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/backends/aarch64_init.c b/backends/aarch64_init.c index bed9295..c61767d 100644 --- a/backends/aarch64_init.c +++ b/backends/aarch64_init.c @@ -54,6 +54,7 @@ aarch64_init (Elf *elf __attribute__ ((unused)), HOOK (eh, dynamic_tag_check); HOOK (eh, data_marker_symbol); HOOK (eh, abi_cfi); + HOOK (eh, section_type_name); /* X0-X30 (31 regs) + SP + 1 Reserved + ELR, 30 Reserved regs (34-43) + V0-V31 (32 regs, least significant 64 bits only) diff --git a/backends/aarch64_symbol.c b/backends/aarch64_symbol.c index 15e0805..af9322f 100644 --- a/backends/aarch64_symbol.c +++ b/backends/aarch64_symbol.c @@ -134,3 +134,21 @@ aarch64_dynamic_tag_check (int64_t tag) || tag == DT_AARCH64_PAC_PLT || tag == DT_AARCH64_VARIANT_PCS); } + +/* Return symbolic representation of section type. */ +const char * +aarch64_section_type_name (int type, + char *buf __attribute__ ((unused)), + size_t len __attribute__ ((unused))) +{ + switch (type) + { +#ifndef SHT_AARCH64_ATTRIBUTES +#define SHT_AARCH64_ATTRIBUTES 0x70000003 +#endif + case SHT_AARCH64_ATTRIBUTES: + return "AARCH64_ATTRIBUTES"; + } + + return NULL; +} -- 2.30.2